/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Backing;

import BE.Pagina;
import BL.BusquedaBL;
import java.util.List;
import javax.faces.component.html.HtmlInputText;
import javax.faces.component.html.HtmlOutputText;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;


/**
 *
 * @author externo.drisco
 */
public class resultadoBusquedaBean {

    //private HtmlDataTable dtPaginas;
    private List<Pagina> listPaginas;
    private HtmlInputText txtConsulta;

    public HtmlInputText getTxtConsulta() {
        return txtConsulta;
    }

    public void setTxtConsulta(HtmlInputText txtConsulta) {
        this.txtConsulta = txtConsulta;
    }
    private HtmlOutputText txtMensaje;

    /** Creates a new instance of resultadoBusquedaBean */
    public resultadoBusquedaBean() {
        System.out.println("contrustor busqueda");
        List<String> arrTerminos =(List<String>)recuperarSesion("arrPalabras");
        BusquedaBL objBusBl = new BusquedaBL();

        listPaginas = objBusBl.obtenerBusqueda(arrTerminos);

        if((listPaginas==null)||(listPaginas.isEmpty())){
            txtMensaje = new HtmlOutputText();
            txtMensaje.setValue("No se encontro resultados");
        }

    }

    public List<Pagina> getListPaginas() {
        return listPaginas;
    }

    public void setListPaginas(List<Pagina> listPaginas) {
        this.listPaginas = listPaginas;
    }

    public HtmlOutputText getTxtMensaje() {
        return txtMensaje;
    }

    public void setTxtMensaje(HtmlOutputText txtMensaje) {
        this.txtMensaje = txtMensaje;
    }

    private Object recuperarSesion(String palabraClave){

        FacesContext context = javax.faces.context.FacesContext.getCurrentInstance();
        HttpSession session = (HttpSession) context.getExternalContext().getSession(false);
        return session.getAttribute(palabraClave);
    }

    public void eliminarSesion(String palabraClave){
        FacesContext context = javax.faces.context.FacesContext.getCurrentInstance();
        HttpSession session = (HttpSession) context.getExternalContext().getSession(false);
        session.removeAttribute(palabraClave);
    }

    public Object regresar(){

        eliminarSesion("resultadoBusquedaBean");
        eliminarSesion("indexBean");
        return "resBus02";
    }

    public Object buscar(){

        if(txtConsulta.getValue().equals("")){
           txtMensaje.setValue("ingrese una palabra valida a buscar");
        }else{
        System.out.println(txtConsulta.getValue());

        BusquedaBL objBusBl = new BusquedaBL();
        List<String> arrPalabras = objBusBl.obtenerPalabrasClave((String)txtConsulta.getValue());


        listPaginas = objBusBl.obtenerBusqueda(arrPalabras);

        if((listPaginas==null)||(listPaginas.isEmpty())){
            txtMensaje = new HtmlOutputText();
            txtMensaje.setValue("No se encontro resultados");
        }
        }
        return null;
    }
}
